Repository navigation
fix(ci): download arch-specific DuckDB macOS builds - #139
Merged
Merged
Conversation
DuckDB 2.0.0 split libduckdb-osx-universal.zip into libduckdb-osx-amd64.zip and libduckdb-osx-arm64.zip. Select DUCKDB_ARCH based on runner.arch (X64|AMD64 -> osx-amd64, ARM64 -> osx-arm64) instead of the removed osx-universal archive.
2.0.0 removed libduckdb-*.zip (and latest now resolves to 2.0.0, breaking every download with 404). Use the renamed duckdb-shared-libs-<os>-<arch>.tar.gz, pinned to v2.0.0. 2.0.0 also dropped the amalgamated duckdb.hpp from release assets, so fetch the C++ headers from a sparse source checkout at the same tag (verified the C headers there are byte-identical to the tarball ones) and install the same file set as before: duckdb*.h, duckdb.hpp, duckdb/ tree, and the shared lib.
2.0.0 removed MaterializedQueryResult; Connection::Query now returns unique_ptr<QueryResult>, a forward-only stream. Replace indexed GetValue(col, row) access with chunk Fetch() / row iterators, fetch the first chunk once and thread it through the placeholder-schema check (fetching consumes the stream), and convert the now vector<Identifier> names to strings via GetIdentifierName().
names/types are now private on QueryResult: use GetNames()/GetTypes(). Vector::GetData() is gone: use FlatVector::GetData[Mutable]. The deprecated ListVector::GetEntry would trip -Werror: use GetChildMutable. Add the now-required list_vector.hpp/struct_vector.hpp includes.
…ug checkout GetEntries now returns vector<Vector> (was pointer elements): drop the dereferences. Temporarily check out ladybug at the DuckDB-2.0.0 PR branch, which carries the AttachedDatabase::executeQuery base-class fix this build needs. Revert to the default branch once that PR merges.
names/types are private on QueryResult: use ColumnCount()/GetTypes(), and convert Identifier to string explicitly via GetIdentifierName().
names/types are private on QueryResult: use GetTypes()/GetNames() and convert Identifier explicitly via GetIdentifierName().
The templated GetDataMutable<T> validates T against DuckDB's own types and throws for ladybug-side types (e.g. interval_t/string_t). Use the untyped accessors plus casts exactly like the old GetData() member did.
2.0.0 executes the inner postgres_query statement at bind time, so DDL and DML no longer fail with 'No fields returned' but run (or fail confusingly, e.g. read-only errors) during planning. Validate that the inner query is a plain SELECT up front via ExtractStatements. 2.0.0 also stopped rejecting duplicate output column names, so enforce the historical contract in bind. Update remote attach-not-exist expectations to the 2.0.0 httpfs error messages.
sql_query DDL rejection now comes from ladybug's binder ('Binder
exception:') instead of DuckDB; duplicate output columns are
auto-renamed (name_1) instead of rejected, so assert the new
successful shape. Remote-attach failures now surface raw httpfs
errors; match them without regex paren escapes.
PG numeric-to-hugeint conversion rounds differently in 2.0.0 (closer to the true value); update the movies hugedata expectation. The S3 missing-file error now carries trailing hint text, so allow trailing content in the match.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DuckDB 2.0.0 split
libduckdb-osx-universal.zipintolibduckdb-osx-amd64.zipandlibduckdb-osx-arm64.zip.Set
DUCKDB_ARCHbased onrunner.arch(X64|AMD64 → osx-amd64, ARM64 → osx-arm64) instead of the removedosx-universalarchive. Fixes the 404 on the macOS DuckDB download step.